// 引入gulp模块
const gulp = require('gulp');
// 引入gulp-less模块
const less = require('gulp-less');
// 引入gulp-clean-css模块
const cleanCSS = require('gulp-clean-css');
// 引入gulp-rename模块
const rename = require('gulp-rename');

// 定义一个名为less的任务
gulp.task('less', function () {
  // 选择要编译的less文件，可以使用通配符匹配多个文件
  return gulp.src(['pages/**/*.less', 'components/**/*.less'])
    // 将less文件编译成css文件
    .pipe(less())
    // 压缩css文件
    .pipe(cleanCSS())
    // 给css文件添加后缀名
    .pipe(rename({ extname: '.wxss' }))
    // 将css文件输出到对应的目录
    .pipe(gulp.dest(function (file) {
      return file.base;
    }));
});

// 定义一个名为watch的任务，用于监听less文件的变化，并自动执行less任务
gulp.task('watch', function () {
  gulp.watch(['pages/**/*.less', 'components/**/*.less'], gulp.series('less'));
});

// 定义一个名为default的任务，用于执行watch任务
gulp.task('default', gulp.series('watch'));